package com.springstudy.mybatisplus.api;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.springstudy.mybatisplus.entity.Person;

import java.util.List;

/**
 * @author chenrongrong
 * @since 2020/3/6 15:24
 */
public interface PersonService {

    /**
     * 获取Person对象
     * @param id
     * @return
     */
    Person get(Long id);

    /**
     *获取Person的id列表
     * @return
     */
    List<Long> getPersonIdList();

    /**
     * 根据查询条件获取Person的id列表
     * @param person
     * @return
     */
    List<Long> getPersonIdListByParam(Person person);

    /**
     * 根据条件获取Person对象
     * @param person
     * @return
     */
    Person getOne(Person person);

    /**
     * 获取Person对象列表
     * @return
     */
    List<Person> getPersonList();

    /**
     * 获取带Career对象的Person列表
     * @return
     */
    List<Person> getListWithCareer();

    /**
     * 根据id列表获取Person列表
     * @param ids
     * @return
     */
    List<Person> getListInIds(List<Long> ids);

    /**
     * 使用mybatis的queryWrapper查询列表
     * @param person
     * @return
     */
    List<Person> getListByWrapper(Person person);

    /**
     * 使用mybatisplus的分页
     * @return
     */
    IPage<Person> getPageByPlus();

    /**
     * 获取带关联表信息的列表
     * @return
     */
    List<Person> getUnionList();
}
